<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
	<th:block th:include="include :: header('优品库存编辑')" />
	<th:block th:include="include :: businessCSS" />
	<style>
		.main-content{position: relative;}
		.topbtns{position:fixed;top: 0;width: 100%;z-index: 9999;background-color: #fff;}
		.preservationBtn{padding: 10px;margin: 0;position: fixed;top: 0;z-index: 9999;background: #fff;width: 100%;}
		.preservationBtn input{font-size: 16px;background-color: rgb(80, 138, 238);color: #fff;border: none;padding: 5px 30px;border-radius: 5px;cursor: pointer;}
		/* .layui-border-box{height: 350px !important;}
		.layui-table-body{height: 240px !important;} */
		.layui-table-tool-temp{padding-right: 30px;}
		.getDetailUpload,.getDetailUpload2{cursor: pointer;}
		.layui-table-tool-self{display: none;}

	</style>
</head>
<body class="no-skin">
<div class="main-container" id="main-container">
	<div class="main-content">
		<form class="layui-form head-form">
			<div class="north">
				<th:block th:include="include :: business_btn" />
				<th:block th:include="include :: business_tp2('top')" />
			</div>
			<div class="mid-content">
				<table class="layui-hide" id="dhtable" lay-filter="dhtable"></table>
				<script type="text/html" id="zjtoolbar">
					<div style="padding: 16px;display: flex;justify-content: space-between;">
						<div  style="font-weight: 700;font-size: 18px;">优品库存列表</div>
						<div>
							<button class="layui-btn layui-btn-normal dhicon" th:classappend="${enableEdit} == 1 ?'':'layui-btn-disabled'" type="button" th:disabled="${enableEdit} == 1 ?false:true" lay-event="addbtn" id="btn-sh">新增</button>
							<button class="layui-btn layui-btn-danger dhicon" th:classappend="${enableEdit} == 1 ?'':'layui-btn-disabled'" type="button" th:disabled="${enableEdit} == 1 ?false:true" lay-event="mjbtn_save" id="btn-sh">删除</button>
						</div>
					</div>
				</script>
			</div>
			<th:block th:include="include :: pageFooter" />
		</form>
	</div>
</div>

<th:block th:include="include :: footer" />
<th:block th:include="include :: businessJS" />
<th:block th:include="include :: inlineJS" />


<script th:inline="javascript">
	/*<![CDATA[*/
	var prefix = ctx + "business/productbasis",
			prefix2 = ctx + "base/company";

	var fields = [[${fields}]];
	var fieldsList = [[${fieldsList}]];
	var fieldsHiddenList = [[${fieldsHiddenList}]];

	var moduleTable = [[${moduleTable}]];
	var enableEdit = [[${enableEdit}]];
	//优品库存列表基础信息
	var gridColumns = [[${gridColumns}]];
	// 商品列表数据
	var List=[[${List}]];
	var listData1=List ?List:[]

	layui.use(['laydate','form','layer','jquery','util','element','upload','table'], function () {
		$ = layui.$,layer = layui.layer,form = layui.form,laydate = layui.laydate,util = layui.util,element=layui.element,upload = layui.upload,table = layui.table;
		beforeInit();//表单初始化之前的动作集合
		//初始化操作
		headcom3()
		// 保存按钮事件变化
		$(function(){
			$('.tp-save').attr('onclick','')
			$('.tp-save').attr('lay-filter','btn-edit')
			$('.tp-save').attr('lay-submit',true)
		})


		// 保存操作
		form.on('submit(btn-edit)', function(data){
			var is_return = false//是否中断保存
			fieldsList.map((v,i)=>{
				if(v.fieldFrontRequired){
					if(!$('#'+v.fields).val()){
						layer.msg(v.fieldName+'不能为空')
						is_return=true
					}
				}
			})
			if(is_return) return;

			//商品列表不能为空
			if(listData1.length == 0){
				layer.msg('优品库存列表不能为空');
				return;
			}

			//详情
			for(var i = 1; i < gridColumns.dictionaryForPageFieldList.length; i++){
				if(gridColumns.dictionaryForPageFieldList[i].fieldFrontRequired){
					//判断是否为空
					if (listData1.some(items => items[gridColumns.dictionaryForPageFieldList[i].fields] == null || items[gridColumns.dictionaryForPageFieldList[i].fields] == ""
							|| items[gridColumns.dictionaryForPageFieldList[i].fields] == undefined)){
						layer.msg(gridColumns.dictionaryForPageFieldList[i].fieldName+'不能为空');
						is_return=true;
						break;
					}
				}
			}
			if(is_return) return;
			$.modal.loading("正在处理中，请稍后...");
			$.post("/storage/stockUpdate/editpost",{infoMap:JSON.stringify(data.field),infoItems:JSON.stringify(listData1)},function(res){
				$.modal.closeLoading()
				layer.msg(res.msg);
				if(res.code == 0){
					window.location.href = '/storage/stockUpdate/edit?nid=' + res.data;
				}
			});
		});





		// 初始化表格
		$.tablelist.init({
			elem: '#dhtable'
			,data: listData1
			, page: false
			, even: true
			, limit: 10000
			, totalRow: gridColumns.totalRow
			, cols: [gridColumns.gridBody]
			, toolbar: '#zjtoolbar'
			, defaultToolbar: [{title: '列设置', layEvent: 'fieldSet', icon: 'layui-icon-set'}]
			, height: '400'
			, done: function (res, curr, count) {
				listData1 = table.cache.dhtable;//每次重载都赋值更新表缓存
				fixTotal(this);//修复合计行固定列问题
				rowheight(res, curr);//修复合计行固定列问题
				detailUpload();
			},success:function(a,b,c){
				console.log(a,b,c)
			}
		});

		//商品表格操作
		table.on('toolbar(dhtable)', function (obj) {
			var selectedObject=""
			sessionStorage.setItem('dhtable',JSON.stringify(table.cache.dhtable))
			table.cache.dhtable.map((v,i)=>{
				if(selectedObject){
					selectedObject+=','+v.guidKc
				}else{
					selectedObject+=v.guidKc
				}
			})
			switch (obj.event) {
				case 'addbtn':
					if ($('#vGsBm').val() == ''){
						layer.msg('公司编码未填写,请填写后在操作!');
						return
					}
					layer.open({
						type: 2,
						area: [($(window).width() - 200)+'px', ($(window).height() - 100)+'px'],
						fix: false,//不固定
						offset: '10%',//距离顶部
						maxmin: true,//最大最小化
						shade: 0.3,//遮罩
						title: '库存列表',
						content: "/storage/stockUpdate/select2?pagetype=checkbox&by=direct&fmoduleTable="+moduleTable+"&selectedObject="+selectedObject+"&vGsBm="+$('#vGsBm').val()+"&bid="+$('#bid').val(),
						btn: ['确定', '取消'],
						shadeClose: true,// 弹层外区域关闭
						yes: function(index, layero){
							var res = window["layui-layer-iframe" + index].callbackdata();
							if(res.length > 0){
								$.each(res,function(i,v){
									v.uProductCode = ''
								})
								layer.closeAll();
								var mjdata=sessionStorage.getItem('dhtable')
								if(mjdata){
									mjdata=JSON.parse(mjdata)
									let newall=[]
									let endData = [];
									var isdata=false
									for (let i = 0; i < res.length; i++) {
										var isdata=false
										if (newall.indexOf(res[i].guidKc) === -1) {
											for (let n = 0; n < mjdata.length; n++) {
												if (newall.indexOf(res[i].guidKc) === -1) {
													if(res[i].guidKc==mjdata[n].guidKc){
														isdata=true
														endData.push(mjdata[n]);
														newall.push(mjdata[n].guidKc);
													}
												}
											}
											if(!isdata){
												endData.push(res[i]);
												newall.push(res[i].guidKc);
											}
										}
									}
									table.reload('dhtable', {data:endData});
								}else{
									table.reload('dhtable', {data:res});
								}
							}else{
								layer.msg("请选择数据");
							}
						}
					});

					break;

				case 'mjbtn_save':
					var objdata=table.checkStatus('dhtable')
					objdata=objdata.data
					listData1= table.cache.dhtable;
					if(objdata.length>0){
						objdata.forEach(item => {
							//根据code删除
							listData1 = listData1.filter(items => items.guidKc!= item.guidKc);
						});
						table.reload('dhtable', {data:listData1});
					}else{
						layer.msg("请选择数据");
					}
					break;
			};
		});
	});

	/**
	 * 回调弹框事件
	 */
	function getMoreAfter(fieldsList,fields,tindex,fieldName,fieldSearchType,isSearch,isLayer,res) {//弹出框赋值回调
		if(fields=='vGsBm'){
			listData1 = [];
			table.reload('dhtable', {data:[]});
		}

	}

</script>

</body>
</html>